using System;
using System.Collections.Generic;
using System.Text;
using BusinessObjects.BO_Actions;
using Entity.StoreProcedure;
using BusinessObjects;
using System.Data;
namespace BusinessObjects.BO_GetObjects {
	public static class BO_portal_suppliers {
		public static DataTable SelectAll(int status) {
			try {
				usp_portal_suppliers_select_all entity = new usp_portal_suppliers_select_all();
				entity.STATUS = status;
				return BO_Actions<usp_portal_suppliers_select_all>.ExecuteAndReturnDataTable(entity);
			} catch (Exception ex) {
				throw ex;
			}
		}
		public static DataTable SelectTop(int rows, int status) {
			try {
				usp_portal_suppliers_select_top entity = new usp_portal_suppliers_select_top();
				entity.NUMBERRECORD = rows;
				entity.STATUS = status;
				return BO_Actions<usp_portal_suppliers_select_top>.ExecuteAndReturnDataTable(entity);
			} catch (Exception ex) {
				throw ex;
			}
		}
		public static DataTable Search(int supplier_id) {
			try {
				usp_portal_suppliers_search entity = new usp_portal_suppliers_search();
				entity.SUPPLIER_ID = supplier_id;

				return BO_Actions<usp_portal_suppliers_search>.ExecuteAndReturnDataTable(entity);
			} catch (Exception ex) {
				throw ex;
			}
		}
		public static DataTable SelectWithPaged(int startIndex, int pageCount, int status) {
			try {
				usp_portal_suppliers_select_paged entity = new usp_portal_suppliers_select_paged ();
				entity.STARTINDEX = startIndex;
				entity.MAXRECORDS = pageCount;
				entity.STATUS = status;
				return BO_Actions<usp_portal_suppliers_select_paged>.ExecuteAndReturnDataTable(entity);
			} catch (Exception ex) {
				throw ex;
			}
		}
		public static string Insert( int category_id, string supplier_code, string supplier_name, string thumb_img, string description, int order_display, DateTime created_date, string created_by, DateTime modify_date, string modify_by, int status) {
			try {
				usp_portal_suppliers_insert entity = new usp_portal_suppliers_insert();
                entity.CATEGORY_ID = category_id;
                entity.SUPPLIER_CODE = supplier_code;
                entity.SUPPLIER_NAME = supplier_name;
                entity.THUMB_IMG = thumb_img;
                entity.DESCRIPTION = description;
                entity.ORDER_DISPLAY = order_display;
                entity.CREATED_DATE = created_date;
                entity.CREATED_BY = created_by;
                entity.MODIFY_DATE = modify_date;
                entity.MODIFY_BY = modify_by;
                entity.STATUS = status;

				return BO_Actions<usp_portal_suppliers_insert>.ExecuteAndReturnStringValue(entity);
			} catch (Exception ex) {
				throw ex;
			}
		}
		public static string Update( int supplier_id, int category_id, string supplier_code, string supplier_name, string thumb_img, string description, int order_display, DateTime created_date, string created_by, DateTime modify_date, string modify_by, int status) {
			try {
				usp_portal_suppliers_update entity = new usp_portal_suppliers_update();
                entity.SUPPLIER_ID = supplier_id;
                entity.CATEGORY_ID = category_id;
                entity.SUPPLIER_CODE = supplier_code;
                entity.SUPPLIER_NAME = supplier_name;
                entity.THUMB_IMG = thumb_img;
                entity.DESCRIPTION = description;
                entity.ORDER_DISPLAY = order_display;
                entity.CREATED_DATE = created_date;
                entity.CREATED_BY = created_by;
                entity.MODIFY_DATE = modify_date;
                entity.MODIFY_BY = modify_by;
                entity.STATUS = status;

				return BO_Actions<usp_portal_suppliers_update>.ExecuteAndReturnStringValue(entity);
			} catch (Exception ex) {
				throw ex;
			}
		}
		public static bool Delete(string ids, string spliter, int delete_type) {
			try {
				usp_portal_suppliers_delete entity = new usp_portal_suppliers_delete();
				entity.IDS = ids;
				entity.SPLITER = spliter;
				entity.DELETE_TYPE = delete_type;

				return BO_Actions<usp_portal_suppliers_delete>.ExecuteAndReturnBooleanValue(entity);
			} catch (Exception ex) {
				throw ex;
			}
		}
		public static bool Restore(int supplier_id) {
			try {
				usp_portal_suppliers_restore entity = new usp_portal_suppliers_restore();
				entity.SUPPLIER_ID = supplier_id;

				return BO_Actions<usp_portal_suppliers_restore>.ExecuteAndReturnBooleanValue(entity);
			} catch (Exception ex) {
				throw ex;
			}
		}
	}
}

